package com.lj.common_web.annotation;

import com.lj.common_web.response.ResponseBodyEncipher;

import java.lang.annotation.*;

/**
 * @author luojing
 * @since 2025/5/30 10:57
 * 为响应体加密,请确保处理方法上或者类上有@ResponseBody注解
 */
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ResponseBodyEncrypt {

    /**
     * @return 是否生效
     */
    boolean value() default true;

    /**
     * @return 加密器
     */
    Class<? extends ResponseBodyEncipher> encipher();

    /**
     * @return 扩展数据 (通常携带加密需要的key等数据)
     */
    String[] exts() default {};
}
